package com.casic.ops.entity.dto;

import com.casic.ops.consts.Const;
import com.casic.ops.consts.machine.MachineEnvAttr;
import com.casic.ops.consts.system.SystemEnvAttr;
import com.casic.ops.consts.tail.FileTailMode;
import com.casic.ops.entity.vo.FileTailVO;
import lombok.Data;


/**
 * @ClassName ops-platform
 * @Description 文件tail对象
 * @Author mianbin
 * @Date 2022/5/31 10:59
 * @Version 1.0
 **/
@Data
public class FileTailDTO {

    /**
     * 文件绝对路径
     */
    private String filePath;

    /**
     * 下载用户id
     */
    private Long userId;

    /**
     * 机器id
     */
    private Long machineId;
    /**
     * tail 模式
     *
     * @see SystemEnvAttr#TAIL_MODE
     * @see FileTailMode
     */
    private String mode;

    /**
     * tail 尾行偏移量
     *
     * @see MachineEnvAttr#TAIL_OFFSET
     * @see Const#TAIL_OFFSET_LINE
     */
    private Integer offset;

    /**
     * tail 编码集
     *
     * @see MachineEnvAttr#TAIL_CHARSET
     * @see Const#UTF_8
     */
    private String charset;

    /**
     * tail 命令
     */
    private String command;

    public static FileTailDTO FileTailVO2FileTailDTO(FileTailVO p) {
        FileTailDTO dto = new FileTailDTO();
        dto.setMachineId(p.getMachineId());
        dto.setFilePath(p.getPath());
        dto.setOffset(p.getOffset());
        dto.setCharset(p.getCharset());
        dto.setCommand(p.getCommand());
        return dto;
    }

}
